#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>

/*  
1  ./read 1.txt
2  argc=2
3  argv[0]="./read"
4  argv[1]="1.txt"
*/

int main (int argc, char **argv)
{
    int fd;
    char readbuf[100];
    int iRet;
    if(argc != 2) 
    {
        printf("Usage: %s<filename>\n", argv[0]);
        return -1;
    }

    /*
    以可读可写的方式打开文件，
    如果文件不存在则创建文件，
    */

    fd = open(argv[1], O_RDONLY ,0666);
    if(fd == -1)
    {
        printf("Error number: %d\n", errno);//打印错误码
        printf("Error message: %s\n", strerror(errno));//把错误码转换成错误信息打印出来    
        perror("open");//打印错误信息
        return -1;
    }
    else
    {
        printf("fd=%d\n", fd);
    }
       iRet = read(fd,readbuf,sizeof(readbuf));
       if(iRet <0)
       {
        perror("write");
       }       
    printf("recvbuf=%s",readbuf);
    

    while(1)
    {
        sleep(10);
    }
    close(fd);//关闭
    return 0;
}